//网络模块核心代码
import axios from "axios";
import {Loading,Message} from "element-ui";
import {METHOD} from "./APIConfig";


//创建配置axios实例
const intance = axios.create({
  baseURL:"https://api.it120.cc",
  timeout:10000
});

// 创建loading实例
var loading = null;
// 添加请求拦截器
intance.interceptors.request.use(function (config) {
  loading = Loading.service({
    lock: true,
    text: 'Loading',
    spinner: 'el-icon-loading',
    background: 'rgba(0, 0, 0, 0.7)'
  });
  return config;
}, function (error) {
  // 对请求错误做些什么
  Message(error);
  console.log("========>",error);
  return Promise.reject(error);
});

// 添加响应拦截器
intance.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  setTimeout(() => {
    loading.close();
  }, 2000);
  return response;
}, function (error) {
  // 对响应错误做点什么
  Message(error);
  console.log("========>",error);
  return Promise.reject(error);
});

export function request(method,url,params){
  switch(method){
    case METHOD.GET:
      return get(url,params);
    case METHOD.POST:
      return post(url,params);
  }
}

//核心请求方法
function get(url,params){
  return intance.get(url,params)
}

function post(url,params){
  return intance.post(url,params)
}




